package com.zhuss.bean.vo.product.train;

import java.util.Date;
import java.util.List;

import com.zhuss.common.AbstractVo;
/**
 * @description: 线路策略列表vo
 * @author: zhushanshuo
 * @create: Mon Jan 04 09:51:07 CST 2021
 **/
public class ListLineStrategyVo extends AbstractVo {

    private Long lineStrategyId;     //线路策略ID

    private Long lineId;     //线路ID

    private Integer lineType;  //线路类型  如 学生、高铁、机场

    private String boardNo;     //模板的班次编号

    private Date startDate;     //运营开始日期

    private Date endDate;     //运营结束日期

    private String startTime;     //发车时间

    private Integer strategyType;     //策略类型  每天、节假日、工作日

    private Integer status;     //状态

    private Long price; //价格

    private Integer canSell; //

    private Integer sort;     //顺序

    private String creator;     //创建人

    private Long creatorId;     //创建人ID

    private Date createTime;     //创建时间

    private String modifier;     //修改人

    private Long modifierId;     //修改人ID

    private Date modifyTime;     //修改时间

    private Integer deleted;     //删除，  0 为 不删除



    private String statusName;

    /**
     * App扩展字段
     * @return
     */
    private String endTime;     //终点时间
    private String rideTypeName;
    private Integer rideType;
    private String lineName;
    private String strategyTypeName;
    private String startPointName;
    private String endPointName;
    private String lineTypeName;
    private Long onSiteId;
    private Long offSiteId;

    private Integer applyCount;

    private String canSellStatus;


    public Integer getCanSell() {
        return canSell;
    }

    public void setCanSell(Integer canSell) {
        this.canSell = canSell;
    }

    private List<ListLineStrategySiteVo> strategySiteVos;

    public Long getLineStrategyId() {
        return lineStrategyId;
    }

    public void setLineStrategyId(Long lineStrategyId) {
        this.lineStrategyId = lineStrategyId;
	}

    public Long getLineId() {
        return lineId;
    }

    public void setLineId(Long lineId) {
        this.lineId = lineId;
	}

    public Integer getLineType() {
        return lineType;
    }

    public void setLineType(Integer lineType) {
        this.lineType = lineType;
    }

    public String getBoardNo() {
        return boardNo;
    }

    public void setBoardNo(String boardNo) {
        this.boardNo = boardNo;
	}

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
	}

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
	}

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
	}

    public Integer getStrategyType() {
        return strategyType;
    }

    public void setStrategyType(Integer strategyType) {
        this.strategyType = strategyType;
	}

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
	}

    public Long getPrice() {
        return price;
    }

    public void setPrice(Long price) {
        this.price = price;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
	}

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
	}

    public Long getCreatorId() {
        return creatorId;
    }

    public void setCreatorId(Long creatorId) {
        this.creatorId = creatorId;
	}

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
	}

    public String getModifier() {
        return modifier;
    }

    public void setModifier(String modifier) {
        this.modifier = modifier;
	}

    public Long getModifierId() {
        return modifierId;
    }

    public void setModifierId(Long modifierId) {
        this.modifierId = modifierId;
	}

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
	}

    public Integer getDeleted() {
        return deleted;
    }

    public void setDeleted(Integer deleted) {
        this.deleted = deleted;
	}

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getRideTypeName() {
        rideTypeName = rideTypeName(this.rideType);
        return rideTypeName;
    }

    public void setRideTypeName(String rideTypeName) {
        this.rideTypeName = rideTypeName;
    }

    public Integer getRideType() {
        return rideType;
    }

    public void setRideType(Integer rideType) {
        this.rideType = rideType;
    }

    public List<ListLineStrategySiteVo> getStrategySiteVos() {
        return strategySiteVos;
    }

    public void setStrategySiteVos(List<ListLineStrategySiteVo> strategySiteVos) {
        this.strategySiteVos = strategySiteVos;
    }

    public String getLineName() {
        return lineName;
    }

    public void setLineName(String lineName) {
        this.lineName = lineName;
    }

    public String getStrategyTypeName() {
        strategyTypeName = strategyTypeName(this.strategyType);
        return strategyTypeName;
    }

    public void setStrategyTypeName(String strategyTypeName) {
        this.strategyTypeName = strategyTypeName;
    }

    public String getStartPointName() {
        return startPointName;
    }

    public void setStartPointName(String startPointName) {
        this.startPointName = startPointName;
    }

    public String getEndPointName() {
        return endPointName;
    }

    public void setEndPointName(String endPointName) {
        this.endPointName = endPointName;
    }

    public String getLineTypeName() {
        lineTypeName = lineTypeName(this.lineType);
        return lineTypeName;
    }

    public void setLineTypeName(String lineTypeName) {
        this.lineTypeName = lineTypeName;
    }

    public Long getOnSiteId() {
        return onSiteId;
    }

    public void setOnSiteId(Long onSiteId) {
        this.onSiteId = onSiteId;
    }

    public Long getOffSiteId() {
        return offSiteId;
    }

    public void setOffSiteId(Long offSiteId) {
        this.offSiteId = offSiteId;
    }

    public Integer getApplyCount() {
        return applyCount;
    }

    public void setApplyCount(Integer applyCount) {
        this.applyCount = applyCount;
    }

    public String getStatusName() {
        statusName = operationStatusName(this.status);
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public String getCanSellStatus() {
        canSellStatus = canSellName(this.canSell);
        return canSellStatus;
    }

    public void setCanSellStatus(String canSellStatus) {
        this.canSellStatus = canSellStatus;
    }

    @Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((lineStrategyId == null) ? 0 : lineStrategyId.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		ListLineStrategyVo other = (ListLineStrategyVo) obj;
		if (lineStrategyId == null) {
			if (other.lineStrategyId != null)
				return false;
		} else if (!lineStrategyId.equals(other.lineStrategyId))
			return false;
		return true;
	}
}
